package com.kotiln.lgc.rxjava;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.kotiln.lgc.rxjava.obser.Observable;
import com.kotiln.lgc.rxjava.obser.ObserveableImpl;
import com.kotiln.lgc.rxjava.obser.Observer;
import com.kotiln.lgc.rxjava.obser.ObserverImpl;

public class MainActivity2 extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        //多个观察者
        Observer observer1 = new ObserverImpl();
        Observer observer2 = new ObserverImpl();
        Observer observer3 = new ObserverImpl();

        //一个被 观察者
        Observable observable=new ObserveableImpl();

        observable.registerObserver(observer1);
        observable.registerObserver(observer2);
        observable.registerObserver(observer3);

        //产生事件
        observable.changeObservers();

//        普通观察者模式与RxJava中使用的变种模式区别:
//        普通观察者可以:多个观察者  一个被观察者 多次注册, 主动产生事件
//        RxJava变种模式:一个观察者 多个被观察者 注册(订阅一次) 一旦注册,马上分发事件
    }
}